package com.itheima.service;

import com.itheima.domain.User;
import com.itheima.entity.PageResult;
import com.itheima.entity.QueryPageBean;

import java.util.Map;

import java.util.List;

public interface UserService {
    User findByUsername(String username);

    List<User> findAll();

    //根据用户名获取能展示给该用户的菜单
    List<Map<String,Object>> findMenuByUsername(String username);

    void edit2password(String password, String telephone);

    //分页查询
    PageResult findPage(QueryPageBean queryPageBean,String username);

    //新增用户
    void add(User user,Integer[] roleIds);

    //根据id查询用户
    User findById(Integer userId);

    //根据用户id查询对应的角色id
    List<Integer> findRoleIdsByUserId(Integer userId);

    //根据ID删除用户
    void delete(Integer id);

    //修改用户
    void edit(User user, Integer[] roleIds);

    //根据用户id查询关联数据的数量
    Integer findCountByUserId(Integer userId);

    //获取所有的用户排除自己
    List<User> findUsersExOwn(Integer id);
}
